import router from '@/router'
import store from '@/store'

const freePage = ['/404', '/login']

router.beforeEach(async (to, from, next) => {

    // 如果有token
    if (store.state.user.token) {
        // 如果当前页面时登录页，就直接跳到首页
        if (to.path.toLowerCase() === '/login') {
            // 跳转到首页
            next('/')
        }else {
            // 判断进入的页面是否有用户信息，如果有就直接进入，没有就调用获取用户信息接口获取用户信息
            if (store.state.user.userInfo.role_id) {
                next()
            } else {
                await store.dispatch('user/getUserInfo')
                
                next()
            }
            
        }
    }  else { //   如果没有token，就看是否是处在登录页和404页，如果是就进行下一步
    if (freePage.includes(to.path.toLowerCase())) {
      next()
      // 如果既没有token也不是以上两个页面，就要跳到登录页
    } else {
      next('/login?redirect=' + to.fullPath)
    }
  }
})
